"""Configuration for various game parameters."""

# base config
class NormalConfig(object):
    population_growth_rate = 0.025 # Note: This change is intentional.
    total_research_goal = 10000000
    
    pop_radius_contribution = 40000.0
    pop_power_contribution = 60000.0
    pop_wall_contribution = 10000

    horde_spawn_rate_other = 0.3
    horde_spawn_rate_cities = 0.3
    levels_dir = "levels"
    save_dir = "saves"
    file_extension = ".dat"
    title_font = 'AnthologY'
    body_font = 'Bitstream Vera Sans Mono'
    button_bg = 'button.png'

    clean_city_color = (255, 255, 255, 255)
    infected_city_color = (100, 100, 100, 255)
    selected_city_color = (100,0,0,255)

    short_transition_time = 0.25
    long_transition_time = 0.5

# adjusted values for hard/easy games
class EasyConfig(NormalConfig):
    zombie_attack_rate = 1.0
    pop_radius_contribution = 10000.0
    pop_power_contribution = 30000.0

class HardConfig(NormalConfig):
    zombie_attack_rate = 2.0
    pop_radius_contribution = 75000.0
    pop_power_contribution = 75000.0

# list the configurations and their names
list = ["Easy", "Normal", "Hard"]
items = [EasyConfig, NormalConfig, HardConfig]

# the current configuration
current = NormalConfig()

# reset the configuration
def set_config(new):
    current = items[new]()
